home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITGetScreenMode.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  5.7 KB  |  159 lines

  1. //
  2. //                    CITGetScreenMode include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2002.02.17
  7. //
  8.  
  9. #ifndef CIT_GETSCREENMODE_H
  10. #define CIT_GETSCREENMODE_H TRUE
  11.  
  12. #ifndef CIT_GADGETS_H
  13. #include "CITGadget.h"
  14. #endif
  15.  
  16. #include <gadgets/getscreenmode.h>
  17.  
  18. //
  19. // This enum is for internal use only
  20. //
  21. enum
  22. {
  23.   CITGETSCREENMODE_TITLETEXT = 0,
  24.   CITGETSCREENMODE_HEIGHT,
  25.   CITGETSCREENMODE_WIDTH,
  26.   CITGETSCREENMODE_LEFTEDGE,
  27.   CITGETSCREENMODE_TOPEDGE,
  28.   CITGETSCREENMODE_DISPLAYID,
  29.   CITGETSCREENMODE_DISPLAYWIDTH,
  30.   CITGETSCREENMODE_DISPLAYHEIGHT,
  31.   CITGETSCREENMODE_DISPLAYDEPTH,
  32.   CITGETSCREENMODE_OVERSCANTYPE,
  33.   CITGETSCREENMODE_AUTOSCROLL,
  34.   CITGETSCREENMODE_INFOOPENED,
  35.   CITGETSCREENMODE_INFOLEFTEDGE,
  36.   CITGETSCREENMODE_INFOTOPEDGE,
  37.   CITGETSCREENMODE_DOWIDTH,
  38.   CITGETSCREENMODE_DOHEIGHT,
  39.   CITGETSCREENMODE_DODEPTH,
  40.   CITGETSCREENMODE_DOOVERSCANTYPE,
  41.   CITGETSCREENMODE_DOAUTOSCROLL,
  42.   CITGETSCREENMODE_PROPERTYFLAGS,
  43.   CITGETSCREENMODE_PROPERTYMASK,
  44.   CITGETSCREENMODE_MINWIDTH,
  45.   CITGETSCREENMODE_MAXWIDTH,
  46.   CITGETSCREENMODE_MINHEIGHT,
  47.   CITGETSCREENMODE_MAXHEIGHT,
  48.   CITGETSCREENMODE_MINDEPTH,
  49.   CITGETSCREENMODE_MAXDEPTH,
  50.   CITGETSCREENMODE_CUSTOMSMLIST,
  51.   CITGETSCREENMODE_FILTERFUNC,
  52.   CITGETSCREENMODE_LAST
  53. };
  54.  
  55. class CITGetScreenMode:public CITGadget
  56. {
  57.   public:
  58.     CITGetScreenMode();
  59.     ~CITGetScreenMode();
  60.  
  61.     void TitleText(char* text)
  62.            {setTag(CITGETSCREENMODE_TITLETEXT,GETSCREENMODE_TitleText,ULONG(text));}
  63.     void LeftEdge(WORD x)
  64.            {setTag(CITGETSCREENMODE_LEFTEDGE,GETSCREENMODE_LeftEdge,x);}
  65.     void TopEdge(WORD y)
  66.            {setTag(CITGETSCREENMODE_TOPEDGE,GETSCREENMODE_TopEdge,y);}
  67.     void Width(WORD w)
  68.            {setTag(CITGETSCREENMODE_WIDTH,GETSCREENMODE_Width,w);}
  69.     void Height(WORD h)
  70.            {setTag(CITGETSCREENMODE_HEIGHT,GETSCREENMODE_Height,h);}
  71.     void DisplayID(ULONG id)
  72.            {setTag(CITGETSCREENMODE_DISPLAYID,GETSCREENMODE_DisplayID,id);}
  73.     void DisplayWidth(ULONG w)
  74.            {setTag(CITGETSCREENMODE_DISPLAYWIDTH,GETSCREENMODE_DisplayWidth,w);}
  75.     void DisplayHeight(ULONG h)
  76.            {setTag(CITGETSCREENMODE_DISPLAYHEIGHT,GETSCREENMODE_DisplayHeight,h);}
  77.     void DisplayDepth(UWORD d)
  78.            {setTag(CITGETSCREENMODE_DISPLAYDEPTH,GETSCREENMODE_DisplayDepth,d);}
  79.     void OverscanType(UWORD type)
  80.            {setTag(CITGETSCREENMODE_OVERSCANTYPE,GETSCREENMODE_OverscanType,type);}
  81.     void AutoScroll(BOOL b = TRUE)
  82.            {setTag(CITGETSCREENMODE_AUTOSCROLL,GETSCREENMODE_AutoScroll,b);}
  83.     void InfoOpened(BOOL b = TRUE)
  84.            {setTag(CITGETSCREENMODE_INFOOPENED,GETSCREENMODE_InfoOpened,b);}
  85.     void InfoLeftEdge(WORD left)
  86.            {setTag(CITGETSCREENMODE_INFOLEFTEDGE,GETSCREENMODE_InfoLeftEdge,left);}
  87.     void InfoTopEdge(WORD top)
  88.            {setTag(CITGETSCREENMODE_INFOTOPEDGE,GETSCREENMODE_InfoTopEdge,top);}
  89.     void DoWidth(BOOL b = TRUE)
  90.            {setTag(CITGETSCREENMODE_DOWIDTH,GETSCREENMODE_DoWidth,b);}
  91.     void DoHeight(BOOL b = TRUE)
  92.            {setTag(CITGETSCREENMODE_DOHEIGHT,GETSCREENMODE_DoHeight,b);}
  93.     void DoDepth(BOOL b = TRUE)
  94.            {setTag(CITGETSCREENMODE_DODEPTH,GETSCREENMODE_DoDepth,b);}
  95.     void DoOverscanType(BOOL b = TRUE)
  96.            {setTag(CITGETSCREENMODE_DOOVERSCANTYPE,GETSCREENMODE_DoOverscanType,b);}
  97.     void DoAutoScroll(BOOL b = TRUE)
  98.            {setTag(CITGETSCREENMODE_DOAUTOSCROLL,GETSCREENMODE_DoAutoScroll,b);}
  99.     void PropertyFlags(ULONG flags)
  100.            {setTag(CITGETSCREENMODE_PROPERTYFLAGS,GETSCREENMODE_PropertyFlags,flags);}
  101.     void PropertyMask(ULONG mask)
  102.            {setTag(CITGETSCREENMODE_PROPERTYMASK,GETSCREENMODE_PropertyMask,mask);}
  103.     void MinWidth(ULONG min)
  104.            {setTag(CITGETSCREENMODE_MINWIDTH,GETSCREENMODE_MinWidth,min);}
  105.     void MaxWidth(ULONG max)
  106.            {setTag(CITGETSCREENMODE_MAXWIDTH,GETSCREENMODE_MaxWidth,max);}
  107.     void MinHeight(ULONG min)
  108.            {setTag(CITGETSCREENMODE_MINHEIGHT,GETSCREENMODE_MinHeight,min);}
  109.     void MaxHeight(ULONG max)
  110.            {setTag(CITGETSCREENMODE_MAXHEIGHT,GETSCREENMODE_MaxHeight,max);}
  111.     void MinDepth(ULONG min)
  112.            {setTag(CITGETSCREENMODE_MINDEPTH,GETSCREENMODE_MinDepth,min);}
  113.     void MaxDepth(ULONG max)
  114.            {setTag(CITGETSCREENMODE_MAXDEPTH,GETSCREENMODE_MaxDepth,max);}
  115.     void CustomSMList(struct List* list)
  116.            {setTag(CITGETSCREENMODE_CUSTOMSMLIST,GETSCREENMODE_CustomSMList,ULONG(list));}
  117.  
  118.     WORD  LeftEdge()
  119.            { return getTag(GETSCREENMODE_LeftEdge); }
  120.     WORD  TopEdge()
  121.            { return getTag(GETSCREENMODE_TopEdge); }
  122.     WORD  Width()
  123.            { return getTag(GETSCREENMODE_Width); }
  124.     WORD  Height()
  125.            { return getTag(GETSCREENMODE_Height); }
  126.     ULONG DisplayID()
  127.            { return getTag(GETSCREENMODE_DisplayID); }
  128.     ULONG DisplayWidth()
  129.            { return getTag(GETSCREENMODE_DisplayWidth); }
  130.     ULONG DisplayHeight()
  131.            { return getTag(GETSCREENMODE_DisplayHeight); }
  132.     ULONG DisplayDepth()
  133.            { return getTag(GETSCREENMODE_DisplayDepth); }
  134.     ULONG OverscanType()
  135.            { return getTag(GETSCREENMODE_OverscanType); }
  136.     WORD  InfoLeftEdge()
  137.            { return getTag(GETSCREENMODE_InfoLeftEdge); }
  138.     WORD  InfoTopEdge()
  139.            { return getTag(GETSCREENMODE_InfoTopEdge); }
  140.  
  141.     void ReqScreenMode();
  142.  
  143.     void FilterFunc(ULONG (*p)(struct ScreenModeRequester* smReq,ULONG modeID,ULONG myData),ULONG userData)
  144.             {CITGadget::CallbackHook(CALLBACKHOOK(p),userData);}
  145.  
  146.   protected:
  147.     virtual BOOL    Create(CITWindow* CITWd,class CITRootClass* parent);
  148.     virtual Object* NewObjectA(TagItem* tags);
  149.     virtual void    hookSetup(ULONG userData);
  150.  
  151.   private:
  152.     void  setTag(int index,ULONG attr,ULONG val);
  153.     ULONG getTag(ULONG attr);
  154.  
  155.     TagItem* getScreenModeTag;
  156. };
  157.  
  158. #endif
  159.